table of contents
mlx5dv_create_steering_anchor / mlx5dv_destroy_steering_anchor(3) | mlx5dv_create_steering_anchor / mlx5dv_destroy_steering_anchor(3) |
NAME¶
mlx5dv_create_steering_anchor - Creates a steering anchor
mlx5dv_destroy_steering_anchor - Destroys a steering anchor
SYNOPSIS¶
-
#include <infiniband/mlx5dv.h> struct mlx5dv_steering_anchor * mlx5dv_create_steering_anchor(struct ibv_context *context, struct mlx5dv_steering_anchor_attr *attr); int mlx5dv_destroy_steering_anchor(struct mlx5dv_steering_anchor *sa);
DESCRIPTION¶
A user can take packets into a user-configured sandbox and do packet processing at the end of which a steering pipeline decision is made on what to do with the packet.
A steering anchor allows the user to reinject the packet back into the kernel for additional processing.
mlx5dv_create_steering_anchor() Creates an anchor which will allow injecting the packet back into the kernel steering pipeline.
mlx5dv_destroy_steering_anchor() Destroys a steering anchor.
ARGUMENTS¶
context¶
The device context to associate the steering anchor with.
attr¶
Anchor attributes specify the priority and flow table type to which the anchor will point.
-
struct mlx5dv_steering_anchor_attr { enum mlx5dv_flow_table_type ft_type; uint16_t priority; uint64_t comp_mask; };
- ft_type
- The flow table type to which the anchor will point.
- priority
- The priority inside ft_type to which the created anchor will point.
- comp_mask
- Reserved for future extension, must be 0 now.
mlx5dv_steering_anchor¶
-
struct mlx5dv_steering_anchor { uint32_t id; };
- id
- The flow table ID to use as the destination when creating the flow table entry.
RETURN VALUE¶
mlx5dv_create_steering_anchor() returns a pointer to a new mlx5dv_steering_anchor on success. On error NULL is returned and errno is set.
mlx5dv_destroy_steering_anchor() returns 0 on success and errno value on error.
AUTHORS¶
Mark Bloch <mbloch@nvidia.com>